Along with the rapid development of technology, devices with data transmission speeds of more than 100 Mbps can be implemented on modern processors. For high speed devices, thread scheduling may affect transmission throughput. In a system with a light workload, a thread may be scheduled such that the thread is executed at a minimum of every 30 μs. In a system with a higher workload, however, a thread may have to wait 100 μs or longer before being executed. The lowest priority threads may even have to wait an indefinite amount of time. To minimize the wait time, a thread may be assigned a higher priority. A thread assigned a high fixed priority, however, may preferentially occupy and use system resources even when the thread is idle, e.g., when the thread is not responding to a time-critical event.
For example, a system may include a high speed interface (HSI) that supports data, transmissions at a speed of more than 100 Mbps. The HSI may transfer 1250 bytes of a 1500-byte Transmission Control Protocol/Internet Protocol (TCP/IP) packet during a period of time for which the HSI is allocated system resources, e.g., a time slice. If the HSI has to wait more than 100 μs for its next time slice, the wait time may negatively impact the performance of the HSI. To minimize the wait time, a thread associated with the HSI may be assigned a higher priority. However, assigning a higher priority to a thread associated with the HSI may cause the HSI to preferentially occupy and use system resources even when the HSI is not performing a data transmission.